﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MakeIT.Deo.Negocios;
using System.IO;
using System.Drawing;

namespace MakeIT.Deo.Apresentacao
{
    public partial class DownSubFamilia : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            int idSubFamilia = int.Parse(Request["idSubFamilia"]);
            string tipo = Request["type"];
            if (tipo==null) tipo="small";

            Response.ContentType = "image/jpeg";

            //Recupera dados
            SubFamiliaBO subFamiliaBO = new SubFamiliaBO();
            subfamilia subFamiliaVO = subFamiliaBO.RecuperaSubFamilia(idSubFamilia);

            if (subFamiliaVO!=null)
            {
                if (tipo.Equals("large") && subFamiliaVO.fotog != null)
                {
                    Response.ContentType = subFamiliaVO.MimeG;
                    Response.BinaryWrite(subFamiliaVO.fotog);
                    return;
                }
                if ((tipo.Equals("small") && subFamiliaVO.Fotop != null) || (tipo.Equals("large") && subFamiliaVO.fotog == null && subFamiliaVO.Fotop != null))
                {
                    Response.ContentType = subFamiliaVO.MimeP;
                    Response.BinaryWrite(subFamiliaVO.Fotop);
                    return;
                }
            }

            ProdutoBO produtoBO = new ProdutoBO();
            List<produto> produtoVOs = produtoBO.RecuperaProduto(null, null, null, idSubFamilia, false);

            AnimatedGifEncoder agf = new AnimatedGifEncoder();
            agf.Start();
            agf.SetDelay(5000);
            agf.SetRepeat(0); //-1:no repeat,0:always repeat
            bool gerouGif = false;
            foreach (produto produtoVO in produtoVOs)
            {
                if (produtoVO.Fotop != null)
                {
                    agf.AddFrame(Util.FixedSize(Util.byteArrayToImage(produtoVO.Fotop), 200, 200));
                    gerouGif = true;
                }
            }
            if (gerouGif)
            {
                Response.ContentType = "image/gif";
                Response.BinaryWrite(agf.getFS().ToArray());
            }
            else
            {
                Response.ContentType = "image/png";
                string filePath = HttpContext.Current.Server.MapPath("~/App_Themes/Padrao/imagens/masterPage/SemFoto.png");
                Response.BinaryWrite(File.ReadAllBytes(filePath));
            }
            agf.Finish();
        }
    }





}
